import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

/* 【导入路由】 */
import router from './router/index.js'
Vue.use(router);

//【导入Element UI 并声明vue项目使用Element UI】
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

// 导入 axios
import axios from 'axios';
// 设置访问后台服务器地址
/* axios.defaults.baseURL="http://127.0.0.1:8088/TsetWebProject/"; */
axios.defaults.baseURL = "http://127.0.0.1:8089/";
// 将 axios 挂载到 vue 全局对象中,使用 this 可以直接访问
Vue.prototype.$http = axios;

//axios 🎀请求拦截
axios.interceptors.request.use(config => {
	//为请求头对象，添加 Token 验证的 token 字段
	config.headers.adminToken = window.sessionStorage.getItem('adminToken');
	config.headers.userToken = window.sessionStorage.getItem('userToken');
	return config;
})

//markdown 格式转为 html 组件
import showdown from 'showdown'
Vue.prototype.converter = new showdown.Converter();

// 🎀添加响应拦截器
axios.interceptors.response.use((resp) => { //正常响应拦截
	if (resp.data.code == 500) {
		ElementUI.Message({showClose: true,
			message: resp.data.message,
			type: "error"
		})
	}
	if (resp.data.code == 202) {//token失效、被伪造
		router.replace("/");
	}
	return resp;
});

/*导入markdown编辑器*/
import mavonEditor from 'mavon-editor';
import 'mavon-editor/dist/css/index.css';
Vue.use(mavonEditor);

new Vue({//【一个Vue对象】
	render: h => h(App),
	router,
}).$mount('#app')